package controller;

import java.util.ArrayList;
import java.util.List;

import dao.CondicaoPagamentoDao;
import dao.CondicaoPagamentoDaoImplementation;
import dao.ItemParcelaDao;
import dao.ItemParcelaDaoImplementation;
import entity.CondicaoPagamento;
import entity.ItemParcela;

public class CondicaoPagamentoController {
			
		public void salvarCondicaoPagamento(CondicaoPagamento condicaoPagamento)
		{
			CondicaoPagamentoDao dao = new CondicaoPagamentoDaoImplementation();
			dao.save(condicaoPagamento);
			List<ItemParcela> listaItemParcela = new ItemParcelaDaoImplementation().listItemParcelaNull();
			
			ItemParcelaDao daoParcela = new ItemParcelaDaoImplementation();
			
			for (ItemParcela listaItemParcelaNull: listaItemParcela)
			{
				if(listaItemParcelaNull.getCondicaoPagamento() == null)
				{
					listaItemParcelaNull.setCondicaoPagamento(new CondicaoPagamento());
					listaItemParcelaNull.setCondicaoPagamento(condicaoPagamento);
					daoParcela.update(listaItemParcelaNull);
				}
			}
		}
		
		public void editarCondicaoPagamento(CondicaoPagamento condicaoPagamento)
		{
			CondicaoPagamentoDao dao = new CondicaoPagamentoDaoImplementation();
			dao.update(condicaoPagamento);
		}
		
		public void excluirCondicaoPagamento(CondicaoPagamento condicaoPagamento)
		{
			CondicaoPagamentoDao dao = new CondicaoPagamentoDaoImplementation();
			dao.delete(condicaoPagamento);
		}
		
		public void consultarCondicaoPagamento(CondicaoPagamento condicaoPagamento)
		{
			CondicaoPagamentoDao dao = new CondicaoPagamentoDaoImplementation();
			dao.consult(condicaoPagamento);
		}
		
		public CondicaoPagamento getCondicaoPagamentoById(long idCondicaoPagamento){
			CondicaoPagamentoDao dao = new CondicaoPagamentoDaoImplementation();
			return dao.getCondicaoPagamento(idCondicaoPagamento);
			}

			public List<CondicaoPagamento> listarCondicaoPagamento() 
			{
			List<CondicaoPagamento> listaCondicaoPagamento = new CondicaoPagamentoDaoImplementation().list();

			listaCondicaoPagamento = new ArrayList<CondicaoPagamento>(listaCondicaoPagamento);

			return listaCondicaoPagamento;
			}
}


